This invention relates to manipulation of curves and surfaces.
When working with artwork in an illustration program like Adobe Illustrator, it is useful to be able to bend or distort curves and surfaces of the artwork in an arbitrary, free-form way. As shown in FIG. 1, controlled distortion may be used for creative manipulation of type for headings or logos, stretching artwork to fit a particular shape, or giving artwork the appearance of being in a three-dimensional scene without actually defining it in three dimensions.
Bezier curves are widely used to describe curved outlines of objects, such as font glyphs, automobile bodies, and graphic arts curves. A Bezier curve is a mathematical formulation of a curve defined by a sequence of control points. A cubic (3 degree) Bezier curve has four control points. The curve goes through (i.e., the end points of the curve lie on) the first and last control points. A Bezier spline is a sequence of Bezier curves joined end-to-end. A Bezier surface is a mathematical formulation of a surface defined by a rectangular array of control points. A cubic Bezier surface has sixteen control points that all may require manipulation to achieve a desired result.
A known method for manipulating the shapes of curves uses a two-dimensional tensor product surface to specify the distortion. As shown in FIG. 2, a uniform, rectangular surface 20 is created around the selected artwork. By distorting the shape of the surface, the user may distort the artwork in a corresponding way. The distortion surface is defined by a rectangular grid of control points 22. Moving the control points of the surface changes the shape in much the same way that moving the control points of a Bezier curve changes the shape of the curve.
Bartels and Beatty in “A Technique for the Direct Manipulation of Spline Curves” (Graphics Interface '89) proposed a scheme in which dragging a point produces limited freedom movement of control points with no freedom on how the curve distorts.